package jschool.modelos;

import javax.swing.table.AbstractTableModel;

import jschool.entidades.Asistencia;
import jschool.manejadores.ManejadorDeAsistencia;

public class ModeloDeAsistencia extends AbstractTableModel {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private static ModeloDeAsistencia instancia = null;
	private ManejadorDeAsistencia manejadorDeAsistencia = null;
	private String[] encabezado = null;

	public static ModeloDeAsistencia getInstancia() {
		if (instancia == null) {
			instancia = new ModeloDeAsistencia();
		}
		return instancia;
	}

	public ModeloDeAsistencia() {
		manejadorDeAsistencia = ManejadorDeAsistencia.getInstancia();
		encabezado = new String[] { "Dia", "Estado", "Id Estudiante" };

	}

	public String getColumnName(int posicion) {
		return encabezado[posicion];
	}

	public int getColumnCount() {

		return encabezado.length;
	}

	@Override
	public int getRowCount() {

		return manejadorDeAsistencia.getAsistencia().size();
	}

	@Override
	public Object getValueAt(int fila, int col) {
		Asistencia asistencia = manejadorDeAsistencia.getAsistencia().get(fila);
		String retorno = "";
		switch (col) {
		case 0:
			retorno = asistencia.getDia();
			break;
		case 1:
			retorno = asistencia.getEstado();
			break;
		case 2:
			retorno = String.valueOf(asistencia.getIdEstudiante());
		}

		return retorno;
	}

	public void setValueAt(Object valor, int fila, int col) {
		Asistencia asistencia = manejadorDeAsistencia.getAsistencia().get(fila);
		switch (col) {
		case 0:
			asistencia.setDia((String) valor);
			break;
		case 1:
			asistencia.setEstado((String) valor);
			break;

		case 2:
			asistencia.setIdEstudiante((Integer) valor);
			break;

		}

	}
}
